const char *s_sprite = "\
class Sprite															\n\
{																		\n\
	name = null;														\n\
																		\n\
	constructor (name, texture, frameWidth, frameHeight)				\n\
	{																	\n\
		this.name = name;												\n\
		Sprite_Create(name, texture.name, frameWidth, frameHeight);		\n\
	}																	\n\
																		\n\
	function Destroy()													\n\
	{																	\n\
		Sprite_Destroy(this.name);										\n\
	}																	\n\
																		\n\
	function SetPosition(x, y)											\n\
	{																	\n\
		Sprite_SetPosition(this.name, x, y);							\n\
	}																	\n\
																		\n\
	function GetPositionX()												\n\
	{																	\n\
		return Sprite_GetPositionX(this.name);							\n\
	}																	\n\
																		\n\
	function GetPositionY()												\n\
	{																	\n\
		return Sprite_GetPositionY(this.name);							\n\
	}																	\n\
																		\n\
	function SetScale(scaleX, scaleY)									\n\
	{																	\n\
		Sprite_SetScale(this.name, scaleX, scaleY);						\n\
	}																	\n\
																		\n\
	function GetScaleX()												\n\
	{																	\n\
		return Sprite_GetScaleX(this.name);								\n\
	}																	\n\
																		\n\
	function GetScaleY()												\n\
	{																	\n\
		return Sprite_GetScaleY(this.name);								\n\
	}																	\n\
																		\n\
	function SetRotation(rotation)										\n\
	{																	\n\
		Sprite_SetRotation(this.name, rotation);						\n\
	}																	\n\
																		\n\
	function GetRotation()												\n\
	{																	\n\
		return Sprite_GetRotation(this.name);							\n\
	}																	\n\
																		\n\
	function SetHandlePosition(handleX, handleY)						\n\
	{																	\n\
		Sprite_SetHandlePosition(this.name, handleX, handleY);			\n\
	}																	\n\
																		\n\
	function GetHandlePositionX()										\n\
	{																	\n\
		return Sprite_GetHandlePositionX();								\n\
	}																	\n\
																		\n\
	function GetHandlePositionY()										\n\
	{																	\n\
		return Sprite_GetHandlePositionY();								\n\
	}																	\n\
																		\n\
	function SetTexture(texture)										\n\
	{																	\n\
		Sprite_SetTexture(texture.name);								\n\
	}																	\n\
																		\n\
	function SetColor(red, green, blue, alpha = 255)					\n\
	{																	\n\
		Sprite_SetColor(this.name, red, green, blue, alpha);			\n\
	}																	\n\
																		\n\
	function GetColorRed()												\n\
	{																	\n\
		return Sprite_GetColorRed(this.name);							\n\
	}																	\n\
																		\n\
	function GetColorGreen()											\n\
	{																	\n\
		return Sprite_GetColorGreen(this.name);							\n\
	}																	\n\
																		\n\
	function GetColorBlue()												\n\
	{																	\n\
		return Sprite_GetColorBlue(this.name);							\n\
	}																	\n\
																		\n\
	function GetColorAlpha()											\n\
	{																	\n\
		return Sprite_GetColorAlpha(this.name);							\n\
	}																	\n\
																		\n\
	function SetBlendMode(blendMode)									\n\
	{																	\n\
		Sprite_SetBlendMode(this.name, blendMode);						\n\
	}																	\n\
																		\n\
	function GetBlendMode()												\n\
	{																	\n\
		return Sprite_GetBlendMode(this.name);							\n\
	}																	\n\
																		\n\
	function SetParent(sprite)											\n\
	{																	\n\
		Sprite_SetParent(this.name, sprite,name);						\n\
	}																	\n\
																		\n\
	function AddAnimation(name, startFrame, endFrame, fps)				\n\
	{																	\n\
		Sprite_AddAnimation(this.name, name, startFrame, endFrame, fps);\n\
	}																	\n\
																		\n\
	function RemoveAnimation(name)										\n\
	{																	\n\
		Sprite_RemoveAnimation(this.name, name);						\n\
	}																	\n\
																		\n\
	function PlayAnimation(name, playstyle)								\n\
	{																	\n\
		Sprite_PlayAnimation(this.name, name, playstyle);				\n\
	}																	\n\
																		\n\
	function StopAnimation()											\n\
	{																	\n\
		Sprite_StopAnimation(this.name);								\n\
	}																	\n\
																		\n\
	function PauseAnimation()											\n\
	{																	\n\
		Sprite_PauseAnimation(this.name);								\n\
	}																	\n\
																		\n\
	function ResumeAnimation()											\n\
	{																	\n\
		Sprite_ResumeAnimation(this.name);								\n\
	}																	\n\
																		\n\
	function IsAnimationPlaying(name)									\n\
	{																	\n\
		return Sprite_IsAnimationPlaying(this.name, name);				\n\
	}																	\n\
																		\n\
	function GetFrameCountX()											\n\
	{																	\n\
		return Sprite_GetFrameCountX(this.name);						\n\
	}																	\n\
																		\n\
	function GetFrameCountY()											\n\
	{																	\n\
		return Sprite_GetFrameCountY(this.name);						\n\
	}																	\n\
																		\n\
	function GetFrameCount()											\n\
	{																	\n\
		return Sprite_GetFrameCount(this.name);							\n\
	}																	\n\
																		\n\
	function GetFrameWidth()											\n\
	{																	\n\
		return Sprite_GetFrameWidth(this.name);							\n\
	}																	\n\
																		\n\
	function GetFrameHeight()											\n\
	{																	\n\
		return Sprite_GetFrameHeight(this.name);						\n\
	}																	\n\
																		\n\
	function GetWidth()													\n\
	{																	\n\
		return Sprite_GetWidth(this.name);								\n\
	}																	\n\
																		\n\
	function GetHeight()												\n\
	{																	\n\
		return Sprite_GetHeight(this.name);								\n\
	}																	\n\
																		\n\
	function Update(delta)												\n\
	{																	\n\
		Sprite_Update(this.name, delta);								\n\
	}																	\n\
};";